/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.dao;


import br.com.modelo.TipoApto;
import br.com.modelo.AptoBean;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Felipe
 */

public class TipoAptoDao {
    private Connection connection;    
   public TipoAptoDao(){
       this.connection =new ConnectionFactory().getConnection();
   }   
   public void adiciona(TipoApto ta){
       String sql;
     
        sql = "insert into TIPO_APTO "
                + "(CD_TIPO_APTO,NM_TIPO_APTO,TP_CAMA_TIPO_APTO,VL_TIPO_APTO,DS_TIPO_APTO)"
                +"values(?,?,?,?,?)";   
       
       try{
           PreparedStatement stmt = connection.prepareStatement(sql);
           stmt.setInt(1,ta.getCd_tipo_apto() );
           stmt.setString(2,ta.getNome_tipo_apto());
           stmt.setString(3,ta.getTipo_cama_tipo_apto());
           stmt.setFloat(4,ta.getVl_tipo_apto());
            stmt.setString(5,ta.getDs_tipo_apto());
            stmt.execute();
           stmt.close();
       }catch(SQLException e){
           throw new RuntimeException(e);
       }
       
       
   }
   
   
   
   public List<TipoApto> getLista() {
		try {
			
			List<TipoApto> listadetipoaptos = new ArrayList<TipoApto>();
			PreparedStatement stmt = this.connection
					.prepareStatement("select * from TIPO_APTO");
			ResultSet rs = stmt.executeQuery();
			while (rs.next()) {
				TipoApto ta = new TipoApto();
				ta.setCd_tipo_apto(rs.getInt("CD_TIPO_APTO"));
				ta.setNome_tipo_apto(rs.getString("NM_TIPO_APTO"));
				ta.setTipo_cama_tipo_apto(rs.getString("TP_CAMA_TIPO_APTO"));
                                ta.setVl_tipo_apto(rs.getFloat("VL_TIPO_APTO"));
                                ta.setDs_tipo_apto(rs.getString("DS_TIPO_APTO"));
				listadetipoaptos.add(ta);
			}
			rs.close();
			stmt.close();
			return listadetipoaptos;
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}
   
   
   public void altera(TipoApto   ta) {

		String sql = "update TIPO_APTO set NM_TIPO_APTO=?,TP_CAMA_TIPO_APTO=?,"
                       +"VL_TIPO_APTO=?,DS_TIPO_APTO=?"
                        + " where CD_TIPO_APTO=?";
		PreparedStatement stmt;
		try {
			stmt = connection.prepareStatement(sql);

			stmt.setString(1, ta.getNome_tipo_apto());
                        stmt.setString(2, ta.getTipo_cama_tipo_apto());
			stmt.setFloat(3, ta.getVl_tipo_apto());
			stmt.setString(4, ta.getDs_tipo_apto());
                        stmt.setInt(5, ta.getCd_tipo_apto());
                        
                        stmt.execute();
			stmt.close();
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}
   
   
   public void remove(TipoApto ta) {
		PreparedStatement stmt;
		try {
			stmt = connection.prepareStatement("delete from TIPO_APTO where CD_TIPO_APTO=?");
			stmt.setInt(1, ta.getCd_tipo_apto());
			stmt.execute();
			stmt.close();
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}

	}
   
}